Skip to content

EIP-7748 tests #1312

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 24 commits into
base: verkle/main
Choose a base branch
from
Draft

EIP-7748 tests #1312

wants to merge 24 commits into from

Conversation

jsign
Copy link

@jsign jsign commented Mar 13, 2025

This PR is a work in progress for EIP-7748 (Tree conversion) tests.

uv run fill --from Shanghai --until EIP6800Transition -v -m blockchain_test -n 8 --evm-bin=<evm path> --evm-dump-dir=out ./tests/verkle/eip7748

Use this branch for filling.

Comment on lines -992 to +998
Address(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE): {
"nonce": 1,
"code": (
"0x60203611603157600143035f35116029575f35612000014311602957612000"
"5f3506545f5260205ff35b5f5f5260205ff35b5f5ffd00"
),
}
# Address(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE): {
# "nonce": 1,
# "code": (
# "0x60203611603157600143035f35116029575f35612000014311602957612000"
# "5f3506545f5260205ff35b5f5f5260205ff35b5f5ffd00"
# ),
# }
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@spencer-tb, this is a quick hack to disable the automatic inclusion of the EIP-2935 system contract. Ideally, I want this feature to avoid having this extra address in the genesis state since we want full predictability on which accounts exist for the tree conversion tests.

I think once we talked about an extra flag to do this more cleanly.

@@ -57,7 +57,7 @@ def test_balance(blockchain_test: BlockchainTestFiller, fork: Fork, target, warm
],
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From this point forward, the changes are mostly the new tests so nothing framework related.

REFERENCE_SPEC_GIT_PATH = "EIPS/eip-7748.md"
REFERENCE_SPEC_VERSION = "TODO"

stride = 7
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Until the testing framework supports the stride as a filling option, I'm hardcoding it. This value allows me to create most of the test cases I want anyway.

See corresponding comment in go-ethereum

jsign added 6 commits March 14, 2025 11:25
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
jsign added 4 commits March 18, 2025 11:33
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
… one converting accounts

Signed-off-by: Ignacio Hagopian <[email protected]>
@@ -582,7 +582,7 @@ def generate_block_data(
)
transition_tool_output.alloc = previous_alloc
# TODO: hack for now, replace with actual witness output once available from t8n
if transition_tool_output.result.verkle_conversion_ended:
if transition_tool_output.result.verkle_conversion_ended and False:
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a proper fix!

@spencer-tb spencer-tb added fork:stateless scope:tests Scope: Changes EL client test cases in `./tests` labels Apr 14, 2025
@spencer-tb spencer-tb added the type:feat type: Feature label Apr 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fork:stateless scope:tests Scope: Changes EL client test cases in `./tests` type:feat type: Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants